package com.qdxwx.data.mapper.card;


import com.qdxwx.common.page.PageRequest;
import com.qdxwx.models.card.Card;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * Card接口
 * Qdx NetSchool Platform
 * @author qdxwx
 * @updateTime 2022/5/25
 * @description
 */
@Repository
public interface CardMapper {

    /**
     * 添加Card
     * @param card 要添加的Card
     * @return id
     */
    int insert(Card card);

    /**
     * 根据id删除一个Card
     * @param id 要删除的id
     */
    int deleteByIds(String id);

    /**
     * 修改Card
     * @param card 要修改的Card
     */
    int update(Card card);


    int updateUsedNum(Long cardId);

    /**
     * 定时更新课程卡过期状态
     * @return
     */
    int updateOver();

    /**
     * 根据id获取单个Card对象
     * @param id 要查询的id
     * @return Card
     */
    Card selectById(Long id);

    List<Card> selectList(@Param("e") Card card, @Param("page") PageRequest page);

    long count(@Param("e") Card card);

}